home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / include / Xm / FileSBP.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-06-30  |  6.6 KB  |  182 lines

  1. /* 
  2.  * (c) Copyright 1989, 1990, 1991, 1992, 1993 OPEN SOFTWARE FOUNDATION, INC. 
  3.  * ALL RIGHTS RESERVED 
  4. */ 
  5. /* 
  6.  * Motif Release 1.2.3
  7. */ 
  8. /*   $RCSfile: FileSBP.h,v $ $Revision: 10.2 $ $Date: 1994/02/04 11:00:06 $ */
  9. /*
  10. *  (c) Copyright 1989, DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. */
  11. /*
  12. *  (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
  13. #ifndef _XmFSelectP_h
  14. #define _XmFSelectP_h
  15.  
  16. #include <Xm/SelectioBP.h>
  17. #include <Xm/FileSB.h>
  18.  
  19. #ifdef __cplusplus
  20. extern "C" {
  21. #endif
  22.  
  23. /* Defines for use in allocation geometry matrix. */
  24.  
  25. #define XmFSB_MAX_WIDGETS_VERT   10 
  26.  
  27. /* Bit locations for the state_flags bit field.
  28. */
  29. #define XmFS_NO_MATCH        (1 << 0)
  30. #define XmFS_IN_FILE_SEARCH    (1 << 1)
  31. #define XmFS_DIR_SEARCH_PROC    (1 << 2)
  32.  
  33. /* Constraint part record for FileSelectionBox widget */
  34.  
  35. typedef struct _XmFileSelectionBoxConstraintPart
  36. {
  37.    char unused;
  38. } XmFileSelectionBoxConstraintPart, * XmFileSelectionBoxConstraint;
  39.  
  40. /*  New fields for the FileSelectionBox widget class record  */
  41.  
  42. typedef struct
  43. {
  44.     XtPointer           extension;      /* Pointer to extension record */
  45. } XmFileSelectionBoxClassPart;
  46.  
  47.  
  48. /* Full class record declaration */
  49.  
  50. typedef struct _XmFileSelectionBoxClassRec
  51. {
  52.    CoreClassPart       core_class;
  53.    CompositeClassPart  composite_class;
  54.    ConstraintClassPart constraint_class;
  55.    XmManagerClassPart  manager_class;
  56.    XmBulletinBoardClassPart    bulletin_board_class;
  57.    XmSelectionBoxClassPart    selection_box_class;
  58.    XmFileSelectionBoxClassPart    file_selection_box_class;
  59. } XmFileSelectionBoxClassRec;
  60.  
  61. externalref XmFileSelectionBoxClassRec xmFileSelectionBoxClassRec;
  62.  
  63.  
  64. /* New fields for the FileSelectionBox widget record */
  65.  
  66. typedef struct
  67. {
  68.     XmString        directory;        /* directory specification */
  69.     XmString        pattern;          /* file search pattern */
  70.     Widget          dir_list_label;   /* directory list Label */
  71.     XmString        dir_list_label_string;/* directory list label text */
  72.     Widget          dir_list;         /* directory List */
  73.     XmString *      dir_list_items;   /* items in directory List */
  74.     int             dir_list_item_count;/* number of items in directory List */
  75.     int             dir_list_selected_item_position;
  76.     Widget          filter_label;     /* file search filter label */
  77.     XmString        filter_label_string;/* filter label text */
  78.     Widget          filter_text;      /* filter text entry field */
  79.     XmString        dir_mask;         /* string in filter text entry field */
  80.     XmString        no_match_string;  /* string in list when no file match */
  81.     XmQualifyProc   qualify_search_data_proc; /* directory and mask routine */
  82.     XmSearchProc    dir_search_proc;  /* change directory routine */
  83.     XmSearchProc    file_search_proc; /* file search routine */
  84.     unsigned char   file_type_mask;   /* mask for type of files in file list */
  85.     Boolean         list_updated;     /* flag to indicate file list update   */
  86.     Boolean         directory_valid ; /* flag to indicate valid new directory*/
  87.     unsigned char   state_flags ;     /* internal flags to indicate state.   */
  88. #ifdef WINTIF
  89.     Boolean         wintif_file_check;
  90.     Widget          error_dlg;        /* Error Dialog widget */
  91.     XmString        error_dlg_string; /* String for error Dialog */
  92. #endif
  93.  
  94. } XmFileSelectionBoxPart;
  95.  
  96.  
  97. /****************************************************************
  98.  *
  99.  * Full instance record declaration
  100.  *
  101.  ****************************************************************/
  102.  
  103. typedef struct _XmFileSelectionBoxRec
  104. {
  105.     CorePart                core;
  106.     CompositePart           composite;
  107.     ConstraintPart          constraint;
  108.     XmManagerPart           manager;
  109.     XmBulletinBoardPart     bulletin_board;
  110.     XmSelectionBoxPart      selection_box;
  111.     XmFileSelectionBoxPart  file_selection_box;
  112. } XmFileSelectionBoxRec;
  113.  
  114.  
  115. /* Access macros */
  116.  
  117. #define FS_Directory( w) \
  118.                 (((XmFileSelectionBoxWidget)(w))->file_selection_box.directory)
  119. #define FS_DirMask( w) \
  120.                  (((XmFileSelectionBoxWidget)(w))->file_selection_box.dir_mask)
  121. #define FS_DirListLabel( w) \
  122.            (((XmFileSelectionBoxWidget)(w))->file_selection_box.dir_list_label)
  123. #define FS_DirListLabelString( w) \
  124.     (((XmFileSelectionBoxWidget)(w))->file_selection_box.dir_list_label_string)
  125. #define FS_DirList( w) \
  126.                  (((XmFileSelectionBoxWidget)(w))->file_selection_box.dir_list)
  127. #define FS_DirListItems( w) \
  128.            (((XmFileSelectionBoxWidget)(w))->file_selection_box.dir_list_items)
  129. #define FS_DirListItemCount( w) \
  130.       (((XmFileSelectionBoxWidget)(w))->file_selection_box.dir_list_item_count)
  131. #define FS_FilterLabel( w) \
  132.              (((XmFileSelectionBoxWidget)(w))->file_selection_box.filter_label)
  133. #define FS_FilterLabelString( w) \
  134.       (((XmFileSelectionBoxWidget)(w))->file_selection_box.filter_label_string)
  135. #define FS_FilterText( w) \
  136.               (((XmFileSelectionBoxWidget)(w))->file_selection_box.filter_text)
  137. #define FS_Pattern( w) \
  138.                   (((XmFileSelectionBoxWidget)(w))->file_selection_box.pattern)
  139. #define FS_NoMatchString( w) \
  140.           (((XmFileSelectionBoxWidget)(w))->file_selection_box.no_match_string)
  141. #define FS_QualifySearchDataProc( w) (((XmFileSelectionBoxWidget) \
  142.                              (w))->file_selection_box.qualify_search_data_proc)
  143. #define FS_DirSearchProc( w) \
  144.           (((XmFileSelectionBoxWidget)(w))->file_selection_box.dir_search_proc)
  145. #define FS_FileSearchProc( w) \
  146.          (((XmFileSelectionBoxWidget)(w))->file_selection_box.file_search_proc)
  147. #define FS_RealDefaultButton( w) \
  148.       (((XmFileSelectionBoxWidget)(w))->file_selection_box.real_default_button)
  149. #define FS_FileTypeMask( w) \
  150.            (((XmFileSelectionBoxWidget)(w))->file_selection_box.file_type_mask)
  151. #define FS_ListUpdated( w) \
  152.              (((XmFileSelectionBoxWidget)(w))->file_selection_box.list_updated)
  153. #define FS_DirectoryValid( w) \
  154.           (((XmFileSelectionBoxWidget)(w))->file_selection_box.directory_valid)
  155. #define FS_StateFlags( w) \
  156.               (((XmFileSelectionBoxWidget)(w))->file_selection_box.state_flags)
  157. #define FS_DirListSelectedItemPosition( w) (((XmFileSelectionBoxWidget) w) \
  158.                           ->file_selection_box.dir_list_selected_item_position)
  159.  
  160. #ifdef WINTIF
  161. #define FS_ErrorDialog(w) \
  162.       (((XmFileSelectionBoxWidget)(w))->file_selection_box.error_dlg)
  163. #endif
  164.  
  165. /********    Private Function Declarations    ********/
  166. #ifdef _NO_PROTO
  167.  
  168.  
  169. #else
  170.  
  171.  
  172. #endif /* _NO_PROTO */
  173. /********    End Private Function Declarations    ********/
  174.  
  175.  
  176. #ifdef __cplusplus
  177. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  178. #endif
  179.  
  180. #endif /* _XmFSelectP_h */
  181. /* DON'T ADD ANYTHING AFTER THIS #endif */
  182.